struct _GtkPlacesSidebarClass {
GtkScrolledWindowClass parent;
- void (* location_selected) (GtkPlacesSidebar *sidebar,
- GFile *location,
- GtkPlacesOpenMode open_mode);
- void (* initiated_unmount) (GtkPlacesSidebar *sidebar,
- gboolean initiated_unmount);
+ void (* location_selected) (GtkPlacesSidebar *sidebar,
+ GFile *location,
+ GtkPlacesOpenMode open_mode);
+ void (* initiated_unmount) (GtkPlacesSidebar *sidebar,
+ gboolean initiated_unmount);
+ void (* show_error_message) (GtkPlacesSidebar *sidebar,
+ const char *primary,
+ const char *secondary);
};
enum {
enum {
LOCATION_SELECTED,
INITIATED_UNMOUNT,
+ SHOW_ERROR_MESSAGE,
LAST_SIGNAL,
};
initiated_unmount);
}
+static void
+emit_show_error_message (GtkPlacesSidebar *sidebar, const char *primary, const char *secondary)
+{
+ g_signal_emit (sidebar, places_sidebar_signals[SHOW_ERROR_MESSAGE], 0,
+ primary, secondary);
+}
+
static gint
get_icon_size (GtkPlacesSidebar *sidebar)
{
name = g_drive_get_name (G_DRIVE (source_object));
primary = g_strdup_printf (_("Unable to start %s"), name);
g_free (name);
- eel_show_error_dialog (primary,
- error->message,
- NULL);
+ emit_show_error_message (sidebar, primary, error->message);
g_free (primary);
}
g_error_free (error);
name = g_drive_get_name (G_DRIVE (source_object));
primary = g_strdup_printf (_("Unable to eject %s"), name);
g_free (name);
- eel_show_error_dialog (primary,
- error->message,
- NULL);
+ emit_show_error_message (sidebar, primary, error->message);
g_free (primary);
}
g_error_free (error);
name = g_volume_get_name (G_VOLUME (source_object));
primary = g_strdup_printf (_("Unable to eject %s"), name);
g_free (name);
- eel_show_error_dialog (primary,
- error->message,
- NULL);
+ emit_show_error_message (sidebar, primary, error->message);
g_free (primary);
}
g_error_free (error);
name = g_mount_get_name (G_MOUNT (source_object));
primary = g_strdup_printf (_("Unable to eject %s"), name);
g_free (name);
- eel_show_error_dialog (primary,
- error->message,
- NULL);
+ emit_show_error_message (sidebar, primary, error->message);
g_free (primary);
}
g_error_free (error);
name = g_drive_get_name (G_DRIVE (source_object));
primary = g_strdup_printf (_("Unable to poll %s for media changes"), name);
g_free (name);
- eel_show_error_dialog (primary,
- error->message,
- NULL);
+ emit_show_error_message (sidebar, primary, error->message);
g_free (primary);
}
g_error_free (error);
name = g_drive_get_name (G_DRIVE (source_object));
primary = g_strdup_printf (_("Unable to start %s"), name);
g_free (name);
- eel_show_error_dialog (primary,
- error->message,
- NULL);
+ emit_show_error_message (sidebar, primary, error->message);
g_free (primary);
}
g_error_free (error);
name = g_drive_get_name (G_DRIVE (source_object));
primary = g_strdup_printf (_("Unable to stop %s"), name);
g_free (name);
- eel_show_error_dialog (primary,
- error->message,
- NULL);
+ emit_show_error_message (sidebar, primary, error->message);
g_free (primary);
}
g_error_free (error);
GTK_WIDGET_CLASS (class)->style_set = gtk_places_sidebar_style_set;
+ /* FIXME: add docstrings for the signals */
+
places_sidebar_signals [LOCATION_SELECTED] =
g_signal_new (I_("location-selected"),
G_OBJECT_CLASS_TYPE (gobject_class),
gtk_marshal_VOID__BOOLEAN,
G_TYPE_NONE, 1,
G_TYPE_BOOLEAN);
+
+ places_sidebar_signals [SHOW_ERROR_MESSAGE] =
+ g_signal_new (I_("show-error-message"),
+ G_OBJECT_CLASS_TYPE (gobject_class),
+ G_SIGNAL_RUN_FIRST,
+ G_STRUCT_OFFSET (GtkPlacesSidebarClass, show_error_message),
+ NULL, NULL,
+ _gtk_marshal_VOID__STRING_STRING,
+ G_TYPE_NONE, 2,
+ G_TYPE_STRING,
+ G_TYPE_STRING);
}
static void